package com.sfh.base.mvp;


import rx.Subscription;

/**
 * 功能描述:基础业务控制接口
 *
 * @date 2016/11/14
 */

public interface IPresenter<T extends IView> extends ILifeCycle{

    /***
     * 绑定视图【有ILifeCycle生命周期回调进行视图管理】
     * @param iView
     */
    void attachView(T iView);
    /***
     * 解除视图绑定【有ILifeCycle生命周期回调进行视图管理】
     */
    void detachView();

    /***
     * 获取绑定视图接口
     * @return
     */
    T getView();

    /***
     * 判断绑定视图接口
     * @return true 绑定 false 未绑定
     */
    boolean isAttach();

    /***
     * 判断没有绑定视图接口
     * @return  true 未绑定 false 绑定
     */
    boolean isNoAttach();


    /***
     * 绑定监听
     * @param subscription
     */
    int putSubscribe(Subscription subscription);
}
